import axios from 'axios'
import { message } from 'ant-design-vue'

// 创建axios实例
const api = axios.create({
  baseURL: '/tds-ec-api',
  timeout: 10000,
  headers: {
    'Content-Type': 'application/json',
  },
})

// 请求拦截器
api.interceptors.request.use(
  (config) => {
    console.log('[API] 请求:', config.method?.toUpperCase(), config.url)
    return config
  },
  (error) => {
    console.error('[API] 请求错误:', error)
    return Promise.reject(error)
  }
)

// 响应拦截器
api.interceptors.response.use(
  (response) => {
    console.log('[API] 响应:', response.status, response.config.url)
    return response.data
  },
  (error) => {
    console.error('[API] 响应错误:', error)
    
    let errorMessage = '网络请求失败'
    
    if (error.response) {
      // 服务器返回错误状态码
      const { status, data } = error.response
      errorMessage = data?.message || `请求失败 (${status})`
    } else if (error.request) {
      // 请求已发出但没有收到响应
      errorMessage = '服务器无响应'
    } else {
      // 请求配置错误
      errorMessage = error.message || '请求配置错误'
    }
    
    message.error(errorMessage)
    return Promise.reject(error)
  }
)

export default api 